home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
science
/
sm32a.zip
/
SYMBMATH.H33
< prev
next >
Wrap
Text File
|
1993-11-07
|
3KB
|
65 lines
4.2.1 Assuming domain
A second way is to assume x>0 before evaluation. If you assume
the variable x is positive or negative, the output expression is simpler
than that if you do not declare it.
IN: assume(x > 0, y <0) # assume x > 0, y < 0
OUT: assumed
IN: sqrt(x^2), sqrt(y^2), sqrt(z^2)
OUT: x*sign(x), y*sign(y), z*sign(z)
IN: last # simplify last output
OUT: x, -y, z*sign(z)
In this way, all of x is affected until the assume() is cleared by
clear(). The first method is local simplification, but the second method
is global simplification.
By default, |x| < inf and all variables are complex, except that
variables in inequalities are real, as usual only real numbers can be
compared. e.g. x is complex in sin(x), but y is real in y > 1.
You can restrict the domain of a variable by assuming the variable
is even, odd, integer, real number, positive or negative.
Example 4.2.3.
IN: isreal(b) := 1 # assume b is real
IN: sqrt(b^2)
OUT: abs(b)
Table 4.2 Assuming
---------------------------------------------------------------------
Assume Assignment Meaning
assume(x>y) x>y := 1 # assume x > y
assume(x>=y) x>=y := 1 # assume x >= y
assume(x<y) x<y := 1 # assume x < y
assume(x<=y) x<=y := 1 # assume x <= y
assume(x==y) x==y := 1 # assume x == y
assume(x<>y) x<>y := 1 # assume x <> y
iseven(b) := 1 # assume b is even
isodd(b) := 1 # assume b is odd
isinteger(b) := 1 # assume b is integer
isratio(b) := 1 # assume b is ratio
isreal(b) := 1 # assume b is real
iscomplex(b) := 1 # assume b is complex
isnumber(b) := 1 # assume b is number
islist(b) := 1 # assume b is a list
isfree(y,x) := 1 # assume y is free of x
issame(a,b) := 1 # assume a is same as b
sign(b) := 1 # assume b is positive complex
sign(b) := -1 # assume b is negative complex
------------------------------------------------------------------------
The assume() can be cleared by clear(). e.g. clear(x>y).
Simplification in different domains
---------------------------------------------------------------------
exprsseion complex real x > 0
sqrt(x^2) x sign(x) |x| x
x*sign(x) x sign(x) |x| x
|x|*sign(x) |x| sign(x) x x
|x|/x |x|/x 1/sign(x) 1
x+inf x+inf inf
x-inf x-inf -inf
abs'(x) |x|/x 1/sign(x) 1
----------------------------------------------------------------------